﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyHocPhi.BLL;
using QuanLyHocPhi.Model;

namespace QuanLyHocPhi.GUI.HeThong
{
    public partial class FormQuanLyNguoiSuDung : Form
    {
        public NguoiSuDung SelectedNguoiSuDung
        {
            get
            {
                if (bindingNguoiSuDung.DataSource == null || bindingNguoiSuDung.Current == null)
                    return null;
                else
                    return bindingNguoiSuDung.Current as NguoiSuDung;
            }
        }

        public FormQuanLyNguoiSuDung()
        {
            InitializeComponent();
            colQL_TenDangNhap.DataPropertyName = "TenDangNhap";
            colQL_HoTen.DataPropertyName = "HoTen";
            colQL_VaiTro.DataPropertyName = "VaiTroDescription";
            gridNguoiSuDung.AutoGenerateColumns = false;
            gridNguoiSuDung.AllowUserToAddRows = false;
            gridNguoiSuDung.AllowUserToDeleteRows = false;
            btnQLND_Reload.PerformClick();
        }


        private void btnQLND_Reload_Click(object sender, EventArgs e)
        {
            var ls = BizNguoiSuDung.GetListNguoiSuDung();
            bindingNguoiSuDung.DataSource = ls;
            gridNguoiSuDung.DataSource = bindingNguoiSuDung;
        }

        private void btnQLND_AddNew_Click(object sender, EventArgs e)
        {
            FormNguoiSuDung_Detail frm = new FormNguoiSuDung_Detail();
            frm.ShowDialog();
            btnQLND_Reload.PerformClick();
        }

        private void btnQLND_Edit_Click(object sender, EventArgs e)
        {
            if (SelectedNguoiSuDung != null)
            {
                FormNguoiSuDung_Detail frm = new FormNguoiSuDung_Detail(SelectedNguoiSuDung);
                frm.ShowDialog();
            }
            else
                DialogUtils.ShowError("Bạn chưa chọn người sử dụng để chỉnh sửa");
            btnQLND_Reload.PerformClick();
        }

        private void btnQLND_Delete_Click(object sender, EventArgs e)
        {
            if (DialogUtils.ShowYesNo("Bạn có chắc chắn muốn xoá người sử dụng không đang chọn không?") != System.Windows.Forms.DialogResult.Yes)
                return;
            if (SelectedNguoiSuDung != null)
            {
                if (SelectedNguoiSuDung.TenDangNhap != Program.NguoiSuDung.TenDangNhap)
                {
                    try
                    {
                        BizNguoiSuDung.Delete_NguoiSuDung(SelectedNguoiSuDung);
                        btnQLND_Reload.PerformClick();
                        //this.FormSinhVien_Import_Load(null);
                    }
                    catch (Exception exc)
                    {
                        DialogUtils.ShowError(exc.Message);
                    }
                }
                else
                    DialogUtils.ShowError("Bạn không thể tự xóa tài khoản của mình");
            }
            else
                DialogUtils.ShowError("Bạn chưa chọn người sử dụng để xóa");
        }

        private void gridNguoiSuDung_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
                btnQLND_Edit.PerformClick();
        }
    }
}
